home *** CD-ROM | disk | FTP | other *** search
- package javax.swing.text;
-
- import java.util.Enumeration;
- import java.util.Hashtable;
- import java.util.Vector;
- import javax.swing.Action;
- import javax.swing.KeyStroke;
-
- class JTextComponent$DefaultKeymap implements Keymap {
- // $FF: renamed from: nm java.lang.String
- String field_0;
- Keymap parent;
- Hashtable bindings;
- Action defaultAction;
-
- JTextComponent$DefaultKeymap(String var1, Keymap var2) {
- this.field_0 = var1;
- this.parent = var2;
- this.bindings = new Hashtable();
- }
-
- public void addActionForKeyStroke(KeyStroke var1, Action var2) {
- this.bindings.put(var1, var2);
- }
-
- public Action getAction(KeyStroke var1) {
- Action var2 = (Action)this.bindings.get(var1);
- if (var2 == null && this.parent != null) {
- var2 = this.parent.getAction(var1);
- }
-
- return var2;
- }
-
- public Action[] getBoundActions() {
- Action[] var1 = new Action[this.bindings.size()];
- int var2 = 0;
-
- for(Enumeration var3 = this.bindings.elements(); var3.hasMoreElements(); var1[var2++] = (Action)var3.nextElement()) {
- }
-
- return var1;
- }
-
- public KeyStroke[] getBoundKeyStrokes() {
- KeyStroke[] var1 = new KeyStroke[this.bindings.size()];
- int var2 = 0;
-
- for(Enumeration var3 = this.bindings.keys(); var3.hasMoreElements(); var1[var2++] = (KeyStroke)var3.nextElement()) {
- }
-
- return var1;
- }
-
- public Action getDefaultAction() {
- if (this.defaultAction != null) {
- return this.defaultAction;
- } else {
- return this.parent != null ? this.parent.getDefaultAction() : null;
- }
- }
-
- public KeyStroke[] getKeyStrokesForAction(Action var1) {
- if (var1 == null) {
- return null;
- } else {
- KeyStroke[] var2 = null;
- Vector var3 = null;
- Enumeration var4 = this.bindings.keys();
-
- while(var4.hasMoreElements()) {
- Object var5 = var4.nextElement();
- if (this.bindings.get(var5) == var1) {
- if (var3 == null) {
- var3 = new Vector();
- }
-
- var3.addElement(var5);
- }
- }
-
- if (this.parent != null) {
- KeyStroke[] var9 = this.parent.getKeyStrokesForAction(var1);
- if (var9 != null) {
- int var6 = 0;
-
- for(int var7 = var9.length - 1; var7 >= 0; --var7) {
- if (this.isLocallyDefined(var9[var7])) {
- var9[var7] = null;
- ++var6;
- }
- }
-
- if (var6 > 0 && var6 < var9.length) {
- if (var3 == null) {
- var3 = new Vector();
- }
-
- for(int var8 = var9.length - 1; var8 >= 0; --var8) {
- if (var9[var8] != null) {
- var3.addElement(var9[var8]);
- }
- }
- } else if (var6 == 0) {
- if (var3 == null) {
- var2 = var9;
- } else {
- var2 = new KeyStroke[var3.size() + var9.length];
- var3.copyInto(var2);
- System.arraycopy(var9, 0, var2, var3.size(), var9.length);
- var3 = null;
- }
- }
- }
- }
-
- if (var3 != null) {
- var2 = new KeyStroke[var3.size()];
- var3.copyInto(var2);
- }
-
- return var2;
- }
- }
-
- public String getName() {
- return this.field_0;
- }
-
- public Keymap getResolveParent() {
- return this.parent;
- }
-
- public boolean isLocallyDefined(KeyStroke var1) {
- return this.bindings.containsKey(var1);
- }
-
- public void removeBindings() {
- this.bindings.clear();
- }
-
- public void removeKeyStrokeBinding(KeyStroke var1) {
- this.bindings.remove(var1);
- }
-
- public void setDefaultAction(Action var1) {
- this.defaultAction = var1;
- }
-
- public void setResolveParent(Keymap var1) {
- this.parent = var1;
- }
-
- public String toString() {
- return "Keymap[" + this.field_0 + "]" + this.bindings;
- }
- }
-